Switching loop
This article needs additional citations for verification. (January 2021) |
A switching loop or bridge loop occurs in computer networks when there is more than one layer 2 path between two endpoints (e.g. multiple connections between two network switches or two ports on the same switch connected to each other). The loop creates broadcast storms as broadcasts and multicasts are forwarded by switches out every port, the switch or switches will repeatedly rebroadcast the broadcast messages flooding the network.[1] Since the layer-2 header does not include a time to live (TTL) field, if a frame is sent into a looped topology, it can loop forever.
A physical topology that contains switching or bridge loops is attractive for redundancy reasons, yet a switched network must not have loops. The solution is to allow physical loops, but create a loop-free logical topology using link aggregation, shortest path bridging, spanning tree protocol or TRILL on the network switches.
Broadcasts
[edit]In the case of broadcast packets over a switching loop, the situation may develop into a broadcast storm.
In a very simple example, a switch with three ports A, B, and C has a normal node connected to port A while ports B and C are connected to each other in a loop. All ports have the same link speed and run in full duplex mode. Now, when a broadcast frame enters the switch through port A, this frame is forwarded to all ports but the source port, i.e. ports B and C. Both frames exiting ports B and C traverse the loop in opposite directions and reenter the switch through their counterpart port. The frame received on port B is then forwarded to ports A and C, the frame received on port C to ports A and B. So, the node on port A receives two copies of its own broadcast frame while the other two copies produced by the loop continue to cycle. Likewise, each broadcast frame entering the system continues to cycle through the loop in both directions, rebroadcasting back to the network in each loop, and broadcasts accumulate. Eventually, the accumulated broadcasts exhaust the egress capacity of the links, the switch begins dropping frames, and communication across the switch becomes unreliable or even impossible.
MAC database instability
[edit]Switching loops can cause misleading entries in a switch's media access control (MAC) database and can cause endless unicast frames to be broadcast throughout the network. A loop can make a switch receive the same broadcast frames on two different ports, and alternatingly associate the sending MAC address with the one or the other port. It may then incorrectly direct traffic for that MAC address to the wrong port, effectively causing this traffic to be lost, and even causing other switches to incorrectly associate the sender's address with a wrong port as well.
Multiple frame transmissions
[edit]In a redundant switched network it is possible for an end device to receive the same frame multiple times.[citation needed]
TTL
[edit]Routing loops are tempered by a time to live (TTL) field in layer-3 packet header; Packets will circulate the routing loop until their TTL value expires. No TTL concept exists at layer 2 and packets in a switching loop will circulate until dropped, e.g. due to resource exhaustion.